package top.abrsm.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;
import java.util.List;

import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 贴吧订单表：置顶充值、积分充值
 * </p>
 *
 * @author WuZH
 * @since 2023-11-18
 */
@Data
@TableName ( "order_info" )
@ApiModel ( value = "OrderEntity对象", description = "贴吧订单表：置顶充值、积分充值" )
public class OrderEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty ( "id" )
    @TableId ( value = "id", type = IdType.INPUT )
    private String id;

    @ApiModelProperty ( "学生Id" )
    @TableField ( "stuId" )
    private String stuId;

    @ApiModelProperty ( "商品Id" )
    @TableField ( "productId" )
    private String productId;

    @ApiModelProperty ( "支付方式：0 微信；1 支付宝" )
    @TableField ( "payType" )
    private Integer payType;

    @ApiModelProperty ( "支付宝订单号" )
    @TableField ( "tradeNo" )
    private String tradeNo;

    @ApiModelProperty ( "微信商户订单号" )
    @TableField ( "outTradeNo" )
    private String outTradeNo;

    @ApiModelProperty ( "用户支付平台账号" )
    @TableField ( "buyerLoginId" )
    private String buyerLoginId;

    @ApiModelProperty ( "实价" )
    @TableField ( "actualPrice" )
    private String actualPrice;

    @ApiModelProperty ( "交易状态； 0-交易创建并等待买家付款；1-未付款交易超时关闭2-交易支付成功；3-交易结束并不可退款（已收到货物）4-付款成功已发货待收货5-退款" )
    @TableField ( "tradeStatus" )
    private Integer tradeStatus;

    @ApiModelProperty ( "订单类型；1：帖子置顶充值；2：积分充值" )
    @TableField ( "type" )
    private Integer type;

    @ApiModelProperty ( "备注" )
    @TableField ( "remarks" )
    private String remarks;

    @TableField ( "createTime" )
    private Date createTime;

    @TableField ( "changeTime" )
    private Date changeTime;

    @TableField ( "isUsed" )
    private Integer isUsed;

    @TableField ( exist = false )
    private List<FileEntity> fileEntities;
    @TableField ( exist = false )
    private String productName;
    @TableField(exist = false)
    private String carId;
    @TableField(exist = false)
    private String stuMobile;
    @TableField(exist = false)
    private String nickName;

}
